def generate_report(title, data, align='left'):
    """
    生成格式化的报告
    
    参数:
    title - 报告标题
    data - 数据列表，每个元素为(标签, 值)
    align - 对齐方式: 'left', 'center', 'right'
    """
    
    # 计算最大宽度
    label_width = max(len(str(item[0])) for item in data)
    value_width = max(len(str(item[1])) for item in data)
    
    # 总宽度 = 标签宽度 + 值宽度 + 分隔符宽度(3个字符)
    total_width = label_width + value_width + 3
    
    # 标题对齐
    if align == 'center':
        title_line = title.center(total_width)
    elif align == 'right':
        title_line = title.rjust(total_width)
    else:
        title_line = title.ljust(total_width)
    
    # 构建报告
    report = [title_line, "=" * total_width]
    
    for label, value in data:
        if align == 'center':
            label_str = str(label).center(label_width)
            value_str = str(value).center(value_width)
        elif align == 'right':
            label_str = str(label).rjust(label_width)
            value_str = str(value).rjust(value_width)
        else:
            label_str = str(label).ljust(label_width)
            value_str = str(value).ljust(value_width)
        
        report.append(f"{label_str} : {value_str}")
    
    return "\n".join(report)

# 销售数据
sales_data = [
    ("产品A", "￥1,200"),
    ("产品B", "￥3,450"),
    ("产品C", "￥890"),
    ("总计", "￥5,540")
]

# 测试不同对齐方式
print("左对齐:")
print(generate_report("销售报告", sales_data, align='left'))
print("\n" + "="*30 + "\n")

print("居中对齐:")
print(generate_report("销售报告", sales_data, align='center'))
print("\n" + "="*30 + "\n")

print("右对齐:")
print(generate_report("销售报告", sales_data, align='right'))


#Output: 左对齐:
# 销售报告        
# ============
# 产品A : ￥1,200
# 产品B : ￥3,450
# 产品C : ￥890  
# 总计  : ￥5,540

# ==============================

# 居中对齐:
#     销售报告    
# ============
# 产品A : ￥1,200
# 产品B : ￥3,450
# 产品C :  ￥890 
#  总计 : ￥5,540

# ==============================

# 右对齐:
#         销售报告
# ============
# 产品A : ￥1,200
# 产品B : ￥3,450
# 产品C :   ￥890
#  总计 : ￥5,540